Definition

𝚃𝙼𝚂𝙰𝚃={α,x,1n,1t:u{0,1}n s.t. Mα outputs 1 on input x,u within t steps}\mathtt{TMSAT} = \{\langle \alpha, x, 1^n, 1^t \rangle : \exists u \in \{0,1\}^n \text{ s.t. } M_\alpha \text{ outputs } 1 \text{ on input } \langle x, u \rangle \text{ within } t \text{ steps}\}
where MαM_\alpha denotes the (deterministic) TM represented by string α\alpha.

Theorem

𝚃𝙼𝚂𝙰𝚃\mathtt{TMSAT} is NP-complete.

Proof

Let LL be a NP language. Then p\exists p polynomial and verifier TM MM s.t. xLx \in L iff u{0,1}p(|x|)\exists u \{0,1\}^{p(\lvert x \rvert)} string satisfying M(x,u)=1M(x,u) = 1 and MM runs in time q(n)q(n) for some polynomial qq.


References

  1. S. Arora, B. Barak. Computational Complexity: A Modern Approach, Cambridge University Press, 2009, p. 43.
  2. https://www.cs.princeton.edu/courses/archive/spr06/cos522/lec2.pdf
  3. https://webdocs.cs.ualberta.ca/~zacharyf/courses/complexity_2019/notes/complexity-w19-lec04.pdf